package kmp;

/**
 * 给定两个字符串形式的非负整数 num1 和num2 ，计算它们的和并同样以字符串形式返回。
 *
 * 你不能使用任何內建的用于处理大整数的库（比如 BigInteger）， 也不能直接将输入的字符串转换为整数形式。
 *
 */
public class leetCode415_addStrings {
    public static void main(String[] args) {
        String num1 = "1";
        String num2 = "9";
        String s = addStrings(num1, num2);
        System.out.println(s);
    }
    public static String addStrings(String num1, String num2) {
        StringBuilder stringBuilder = new StringBuilder();
        char[] c1 = num1.toCharArray();
        char[] c2 = num2.toCharArray();
        int i = c1.length - 1;
        int j = c2.length - 1;
        int plus = 0;
        while (i >= 0 || j >= 0 || plus > 0){
            int a = i >= 0 ? c1[i] - '0':0;
            int b = j >= 0 ? c2[j] - '0':0;
            int sum = a + b + plus;
            int value = sum%10;
            plus = sum/10;
            stringBuilder.append(value);
            i--;
            j--;
        }
        return stringBuilder.reverse().toString();

    }

}
